//app.js
var api = require("./utils/api.js");
App({
  globalData: {
    userInfo: null,//用户信息
    userStatus: null,//minicode返回
    cardInfo: null,//我的卡牌信息 根据进入我的卡牌界面进行舒心
    share: null,//分享设置  暂时无用
    shareBack: null,//分享背景
    userStep: null,//用户步数
    qrCode: null,//二维码
  },

  //帮助分享
  shareSeekHelp: function(param) {
    var img;
    if (this.globalData.shareBack) {
      var index = parseInt(Math.random() * this.globalData.shareBack.length);
      // console.log(index);
      img = this.globalData.shareBack[index];
    }
    var path = 'pages/index/index';
    if (param){
      path= path+ '?'+param;
    }
    var title = '人生没有白走的路，每一步都算数';
    if(Math.random()*100 > 50){
      title = '告诉我，走近你心里需要多少步';
    }
    return {
      title: title,
      path: path,
      imageUrl: img,
    }
  },

  //获取share配置
  //分享类型 1赠送分享 2跬步生财活动 3普通分享 4宝箱寻物 5新春红包 6情人节 7元宵猜灯谜
  shareType: function(type) {
    if (this.globalData.share.length > 0 && (type > 0 && type < 8)) {
      var shareInfo;
      for (var i = 0; i < this.globalData.share.length; i++) {
        var info = this.globalData.share[i];
        if (info.share_type == type) {
          shareInfo = info;
          break;
        }
      }
      var path = "pages/index/index";
      //配置落地页
      return {
        title: shareInfo.share_content,
        path: path,
        imageUrl: shareInfo.share_image,
      }
    } else {
      return {};
    }
  },
  /**
   * 当小程序初始化完成时，会触发 onLaunch（全局只触发一次）
   */
  onLaunch: function() {
    //获取分享设置
    api.shareSetting(res => {
      // console.log(res);
      this.globalData.share = res;
    });

    // 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
        // console.log(res);
        api.token(res.code, data => {
          this.globalData.userStatus = data; //获取到token等用户信息

          // console.log(this.globalData.userStatus.token);
          api.getShareBack(res => {
            this.globalData.shareBack = res;
            if (this.shareBackCallback) {
              this.shareBackCallback(res);
            }
          });

          api.qrCode(res => {
            this.globalData.qrCode = res;
            if (this.qrCodeCallback) {
              this.qrCodeCallback(res);
            }
          });

          if (this.userStatusReadyCallback) {
            this.userStatusReadyCallback(data);
          }
          if (this.globalData.userInfo) {
            api.updateUserInfo(this.globalData.userStatus.uid, this.globalData.userInfo.nickName, this.globalData.userInfo.avatarUrl);
            // api.updateUserInfo(this.globalData.userInfo);
          }
        });
      }
    });

    // 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              this.globalData.userInfo = res.userInfo;

              // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res);
              }
            }
          })
        }
      }
    })
  },

  /**
   * 当小程序启动，或从后台进入前台显示，会触发 onShow
   */
  onShow: function(options) {

  },

  /**
   * 当小程序从前台进入后台，会触发 onHide
   */
  onHide: function() {

  },

  /**
   * 当小程序发生脚本错误，或者 api 调用失败时，会触发 onError 并带上错误信息
   */
  onError: function(msg) {

  }
})